#include <hxcpp.h>

#ifndef INCLUDED_cpp_CppInt32__
#include <cpp/CppInt32__.h>
#endif
#ifndef INCLUDED_haxe_Int64
#include <haxe/Int64.h>
#endif
#ifndef INCLUDED_jax_JConstant
#include <jax/JConstant.h>
#endif
namespace jax{

::jax::JConstant  JConstant_obj::classref(int i)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("classref"),5,hx::DynamicArray(0,1).Add(i)); }

::jax::JConstant  JConstant_obj::dbl(Float v)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("dbl"),4,hx::DynamicArray(0,1).Add(v)); }

::jax::JConstant  JConstant_obj::dyninfo(int b,int nt)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("dyninfo"),13,hx::DynamicArray(0,2).Add(b).Add(nt)); }

::jax::JConstant  JConstant_obj::fieldref(int c,int nt)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("fieldref"),10,hx::DynamicArray(0,2).Add(c).Add(nt)); }

::jax::JConstant  JConstant_obj::flt(Float v)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("flt"),3,hx::DynamicArray(0,1).Add(v)); }

::jax::JConstant  JConstant_obj::i32(::cpp::CppInt32__ v)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("i32"),1,hx::DynamicArray(0,1).Add(v)); }

::jax::JConstant  JConstant_obj::i64(::haxe::Int64 v)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("i64"),2,hx::DynamicArray(0,1).Add(v)); }

::jax::JConstant  JConstant_obj::imethodref(int c,int nt)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("imethodref"),9,hx::DynamicArray(0,2).Add(c).Add(nt)); }

::jax::JConstant  JConstant_obj::methodhandle(int k,int r)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("methodhandle"),11,hx::DynamicArray(0,2).Add(k).Add(r)); }

::jax::JConstant  JConstant_obj::methodref(int c,int nt)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("methodref"),8,hx::DynamicArray(0,2).Add(c).Add(nt)); }

::jax::JConstant  JConstant_obj::methodtype(int di)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("methodtype"),12,hx::DynamicArray(0,1).Add(di)); }

::jax::JConstant  JConstant_obj::nameandtype(int n,int t)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("nameandtype"),7,hx::DynamicArray(0,2).Add(n).Add(t)); }

::jax::JConstant  JConstant_obj::str(::String v)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("str"),0,hx::DynamicArray(0,1).Add(v)); }

::jax::JConstant  JConstant_obj::stringref(int i)
	{ return hx::CreateEnum< JConstant_obj >(HX_CSTRING("stringref"),6,hx::DynamicArray(0,1).Add(i)); }

HX_DEFINE_CREATE_ENUM(JConstant_obj)

int JConstant_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("classref")) return 5;
	if (inName==HX_CSTRING("dbl")) return 4;
	if (inName==HX_CSTRING("dyninfo")) return 13;
	if (inName==HX_CSTRING("fieldref")) return 10;
	if (inName==HX_CSTRING("flt")) return 3;
	if (inName==HX_CSTRING("i32")) return 1;
	if (inName==HX_CSTRING("i64")) return 2;
	if (inName==HX_CSTRING("imethodref")) return 9;
	if (inName==HX_CSTRING("methodhandle")) return 11;
	if (inName==HX_CSTRING("methodref")) return 8;
	if (inName==HX_CSTRING("methodtype")) return 12;
	if (inName==HX_CSTRING("nameandtype")) return 7;
	if (inName==HX_CSTRING("str")) return 0;
	if (inName==HX_CSTRING("stringref")) return 6;
	return super::__FindIndex(inName);
}

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,classref,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,dbl,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,dyninfo,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,fieldref,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,flt,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,i32,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,i64,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,imethodref,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,methodhandle,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,methodref,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,methodtype,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC2(JConstant_obj,nameandtype,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,str,return)

STATIC_HX_DEFINE_DYNAMIC_FUNC1(JConstant_obj,stringref,return)

int JConstant_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("classref")) return 1;
	if (inName==HX_CSTRING("dbl")) return 1;
	if (inName==HX_CSTRING("dyninfo")) return 2;
	if (inName==HX_CSTRING("fieldref")) return 2;
	if (inName==HX_CSTRING("flt")) return 1;
	if (inName==HX_CSTRING("i32")) return 1;
	if (inName==HX_CSTRING("i64")) return 1;
	if (inName==HX_CSTRING("imethodref")) return 2;
	if (inName==HX_CSTRING("methodhandle")) return 2;
	if (inName==HX_CSTRING("methodref")) return 2;
	if (inName==HX_CSTRING("methodtype")) return 1;
	if (inName==HX_CSTRING("nameandtype")) return 2;
	if (inName==HX_CSTRING("str")) return 1;
	if (inName==HX_CSTRING("stringref")) return 1;
	return super::__FindArgCount(inName);
}

Dynamic JConstant_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("classref")) return classref_dyn();
	if (inName==HX_CSTRING("dbl")) return dbl_dyn();
	if (inName==HX_CSTRING("dyninfo")) return dyninfo_dyn();
	if (inName==HX_CSTRING("fieldref")) return fieldref_dyn();
	if (inName==HX_CSTRING("flt")) return flt_dyn();
	if (inName==HX_CSTRING("i32")) return i32_dyn();
	if (inName==HX_CSTRING("i64")) return i64_dyn();
	if (inName==HX_CSTRING("imethodref")) return imethodref_dyn();
	if (inName==HX_CSTRING("methodhandle")) return methodhandle_dyn();
	if (inName==HX_CSTRING("methodref")) return methodref_dyn();
	if (inName==HX_CSTRING("methodtype")) return methodtype_dyn();
	if (inName==HX_CSTRING("nameandtype")) return nameandtype_dyn();
	if (inName==HX_CSTRING("str")) return str_dyn();
	if (inName==HX_CSTRING("stringref")) return stringref_dyn();
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("str"),
	HX_CSTRING("i32"),
	HX_CSTRING("i64"),
	HX_CSTRING("flt"),
	HX_CSTRING("dbl"),
	HX_CSTRING("classref"),
	HX_CSTRING("stringref"),
	HX_CSTRING("nameandtype"),
	HX_CSTRING("methodref"),
	HX_CSTRING("imethodref"),
	HX_CSTRING("fieldref"),
	HX_CSTRING("methodhandle"),
	HX_CSTRING("methodtype"),
	HX_CSTRING("dyninfo"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
};

static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JConstant_obj::__mClass,"__mClass");
};

static ::String sMemberFields[] = { ::String(null()) };
Class JConstant_obj::__mClass;

Dynamic __Create_JConstant_obj() { return new JConstant_obj; }

void JConstant_obj::__register()
{

Static(__mClass) = hx::RegisterClass(HX_CSTRING("jax.JConstant"), hx::TCanCast< JConstant_obj >,sStaticFields,sMemberFields,
	&__Create_JConstant_obj, &__Create,
	&super::__SGetClass(), &CreateJConstant_obj, sMarkStatics, sVisitStatic);
}

void JConstant_obj::__boot()
{
}


} // end namespace jax
